本章课程PDF,视频(油管B站)。

Word Embedding是Dimension Reduction的一个非常好、非常广为人知的应用。

最典型的做法就是使用一个vector来表示一个word,维度是世界上所有word的数目,每一个word对应到其中一维。1-of-N Encoding不能体现单词之间的关系(如不能体现cat,dog之间的关系),改进为word class之后,不能体现类之间的关系(如不能体现class 1与class 2之间的关系),所以我们需要词向量。

词向量就是把每一个word都映射到高维空间上,虽然说是高维空间,其实通常都比1-of-N Encoding的维度要低。

Word Embedding

  • Machine learn the meaning of words from reading a lot of documents without supervision
  • Generating Word Vector is unsupervised
  • A word can be understood by its context

How to exploit the context?

Count based

Prediction based

这个方法需要learn一个neural network,输入前一个word,然后模型预测下一个可能出现的word 是哪个。每一个word用1-of-N Encoding表示成一个特征向量。模型output的维度就是向量的size,每一维代表是这个word是下一个word的几率。

我们可以把第一层hidden layer的input拿出来,当作word的Embedding。

例如“蔡英文 宣誓就职”、”马英九 宣誓就职“,虽然前边部分不同,但是后半部分均为”宣誓就职”。为了让output的地方output均为“宣誓就职”,中间的hidden layer就要学会把不同的词汇通过参数的转换,把它们对应到同样的空间。



当输入有多个词的时候,需要共享参数,一方面是为了保证每个word对应的词向量一样,另一方面是为了减少参数量。


Word Embedding效果



Other Embedding


image经过neural network得到一个vector(与word vector类似)。对训练时没出现的类别也可以进行分类。




如果本博文对您有帮助,可以赞助支持一波博主~